home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS20.ADF
/
BobEd
/
requesters.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-01-27
|
9KB
|
332 lines
#include <bobed.h>
/*
"requesters.c"
This file contains the definitions for the requesters used in BobEd
*/
#define RWIDE 150 /* requester width */
#define RHIGH 50 /* requester height */
extern struct TextAttr TestFont;
/* common data for save and load requesters */
SHORT reqdata3 [] = {1,1,RWIDE-2,1,RWIDE-2,RHIGH-2,1,RHIGH-2,1,1};
struct Border reqborder3 = {
0,0,1,NULL,JAM1,5,(SHORT *)&reqdata3[0],NULL
};
SHORT reqdata2 [] = {1,1,RWIDE-2,1,RWIDE-2,13,1,13,1,1};
struct Border reqborder2 = {
0,0,1,NULL,JAM1,5,(SHORT *)&reqdata2[0],(struct Border *)&reqborder3
};
/* border data for save requester */
SHORT saveborderdata [] = {-2,-2,RWIDE-51,-2,RWIDE-51,9,-2,9,-2,-2};
struct Border savegadborder = {
0,0,1,NULL,JAM1,5,(SHORT *)&saveborderdata[0],NULL
};
/* border data for load requester */
SHORT loadborderdata [] = {-2,-2,RWIDE-21,-2,RWIDE-21,9,-2,9,-2,-2};
struct Border loadgadborder = {
0,0,1,NULL,JAM1,5,(SHORT *)&loadborderdata[0],NULL
};
/* border data for integer gadget */
SHORT intborderdata [] = {-2,-2,22,-2,22,9,-2,9,-2,-2};
struct Border intgadborder = {
0,0,1,NULL,JAM1,5,(SHORT *)&intborderdata[0],NULL
};
/* define the width of the info requester */
#define INFOWIDE 195
#define INFOHIGH 55
#define INFOLINES 4
/* data for info requester */
SHORT infobdata1 [] = {0,0,INFOWIDE-1,0,INFOWIDE-1,INFOHIGH-1,0,INFOHIGH-1,0,0};
struct Border inforeqb1 = {
0,0,3,NULL,JAM1,5,(SHORT *)&infobdata1[0],NULL
};
SHORT infobdata2 [] ={2,2,INFOWIDE-3,2,INFOWIDE-3,INFOHIGH-3,2,INFOHIGH-3,2,2};
struct Border inforeqb2 = {
0,0,2,NULL,JAM1,5,(SHORT *)&infobdata2[0],(struct Border *)&inforeqb1
};
/* requester definitons */
struct Requester savereq;
struct Requester loadreq;
struct Requester inforeq;
/* text for requesters */
struct IntuiText savetext;
struct IntuiText infotext [INFOLINES];
struct IntuiText oktext;
struct IntuiText loadtext;
struct IntuiText loadgtext;
struct IntuiText canceltext;
struct IntuiText frametext;
struct IntuiText formattext;
/* file name buffers for string gadgets */
UBYTE namebuffer [20];
UBYTE undobuffer [20];
/* string info for save and load string gadgets */
struct StringInfo stringinfo = {
(UBYTE *)&namebuffer,
(UBYTE *)&undobuffer,
0,
20,
0,
0,0,0,0,0,0,0,0
};
/* number of planes buffer for integer save gadget */
UBYTE intbuffer [2] = {'2','\0'}; /* default to 2 planes */
/* integer gadget is just a type of string gadget */
struct StringInfo intinfo = {
(UBYTE *)&intbuffer,
NULL,
0,
2,
0,
0,0,0,0,0,0,
2,
0
};
/* gadget to cancel save and load */
struct Gadget cancelgad = {
NULL,
RWIDE-57,RHIGH-15,48,8,
GADGHBOX,
RELVERIFY|ENDGADGET,
REQGADGET|BOOLGADGET,
NULL,NULL,
&canceltext,
NULL,NULL,
99, /* 99 is a nop ID */
NULL
};
/* finished with info gadget */
struct Gadget okgad = {
NULL,
INFOWIDE-42,INFOHIGH-14,32,8,
GADGHBOX,
RELVERIFY|ENDGADGET,
REQGADGET|BOOLGADGET,
NULL,
NULL,
&oktext,
NULL,NULL,
99,
NULL
};
/* user is finished with name and wants to frame image */
struct Gadget framegad = {
(struct Gadget *)&cancelgad,
10,RHIGH-15,40,8,
GADGHBOX,
RELVERIFY|ENDGADGET,
REQGADGET|BOOLGADGET,
NULL,NULL,
&frametext,
NULL,NULL,
93,
NULL
};
/* accept current filename and load image */
struct Gadget loadgad = {
(struct Gadget *)&cancelgad,
10,RHIGH-15,32,8,
GADGHBOX,
RELVERIFY|ENDGADGET,
REQGADGET|BOOLGADGET,
NULL,NULL,
&loadgtext,
NULL,NULL,
90,
NULL
};
/* toggle between binary and c format */
struct Gadget formatgad = {
(struct Gadget *)&framegad,
60,RHIGH-15,24,8,
GADGHBOX|SELECTED, /* starts out selected (save as "C") */
TOGGLESELECT, /* toggle and dont exit when hit */
REQGADGET|BOOLGADGET,
NULL,NULL,
&formattext,
NULL,NULL,
99,
NULL
};
/* gets an integer representing the number of planes to save */
struct Gadget stringint = {
(struct Gadget *)&formatgad,
RWIDE-32,20,16,12,
GADGHCOMP,
RELVERIFY|GADGIMMEDIATE|LONGINT, /* longint means that this is an int */
REQGADGET|STRGADGET, /* a special type of string gadget */
(APTR)&intgadborder,
NULL,
NULL,
NULL,
(APTR)&intinfo, /* returns result here */
99,
NULL
};
/* save filename gadget */
struct Gadget stringsave = {
(struct Gadget *)&stringint,
10,20,RWIDE-47,12,
GADGHCOMP, /* dont end when hit */
RELVERIFY|GADGIMMEDIATE,
REQGADGET|STRGADGET,
(APTR)&savegadborder,
NULL,
NULL,
NULL,
(APTR)&stringinfo, /* returns filename here */
99,
NULL
};
/* save filename string gadget */
struct Gadget stringload = {
(struct Gadget *)&loadgad,
12,20,RWIDE-16,12,
GADGHCOMP,
RELVERIFY|GADGIMMEDIATE|ENDGADGET, /* end when hit (<CR>) */
REQGADGET|STRGADGET,
(APTR)&loadgadborder,
NULL,
NULL,
NULL,
(APTR)&stringinfo,
90, /* shared with loadgad */
NULL
};
VOID initdiskreq ()
{
int i;
InitRequester (&savereq);
savereq.LeftEdge = HWIDE;
savereq.TopEdge = 10;
savereq.Width = RWIDE;
savereq.Height = RHIGH;
savereq.ReqGadget = &stringsave; /* first requester gadget */
savereq.ReqText = (struct IntuiText *)&savetext; /* title */
savereq.BackFill = 2; /* back color */
savereq.ReqBorder = (struct Border *)&reqborder2; /* first border */
InitRequester (&loadreq);
loadreq.LeftEdge = HWIDE;
loadreq.TopEdge = 10;
loadreq.Width = RWIDE;
loadreq.Height = RHIGH;
loadreq.ReqGadget = &stringload;
loadreq.ReqText = (struct IntuiText *)&loadtext;
loadreq.BackFill = 2;
loadreq.ReqBorder = (struct Border *)&reqborder2;
InitRequester (&inforeq);
inforeq.LeftEdge = 30;
inforeq.TopEdge = 20;
inforeq.Width = INFOWIDE;
inforeq.Height = INFOHIGH;
inforeq.ReqGadget = &okgad;
inforeq.ReqText = (struct IntuiText *)&infotext[0];
inforeq.BackFill = 1;
inforeq.ReqBorder = (struct Border *)&inforeqb2;
canceltext.FrontPen = 3;
canceltext.BackPen = 1;
canceltext.DrawMode = JAM2;
canceltext.ITextFont= (struct TextAttr *)&TestFont;
canceltext.NextText = NULL;
canceltext.LeftEdge = 0;
canceltext.TopEdge = 0;
canceltext.IText = "CANCEL";
loadgtext.FrontPen = 3;
loadgtext.BackPen = 1;
loadgtext.DrawMode = JAM2;
loadgtext.ITextFont= (struct TextAttr *)&TestFont;
loadgtext.NextText = NULL;
loadgtext.LeftEdge = 0;
loadgtext.TopEdge = 0;
loadgtext.IText = "LOAD";
oktext.FrontPen = 2;
oktext.BackPen = 3;
oktext.DrawMode = JAM2;
oktext.ITextFont= (struct TextAttr *)&TestFont;
oktext.NextText = NULL;
oktext.LeftEdge = 0;
oktext.TopEdge = 0;
oktext.IText = " OK ";
frametext.FrontPen = 3;
frametext.BackPen = 1;
frametext.DrawMode = JAM2;
frametext.ITextFont= (struct TextAttr *)&TestFont;
frametext.NextText = NULL;
frametext.LeftEdge = 0;
frametext.TopEdge = 0;
frametext.IText = "FRAME";
loadtext.FrontPen = 1;
loadtext.BackPen = 2;
loadtext.DrawMode = JAM2;
loadtext.ITextFont= (struct TextAttr *)&TestFont;
loadtext.NextText = NULL;
loadtext.LeftEdge = 4;
loadtext.TopEdge = 4;
loadtext.IText = "Load Image";
savetext.FrontPen = 1;
savetext.BackPen = 2;
savetext.DrawMode = JAM2;
savetext.ITextFont= (struct TextAttr *)&TestFont;
savetext.NextText = NULL;
savetext.LeftEdge = 4;
savetext.TopEdge = 4;
savetext.IText = "Save Image";
formattext.FrontPen = 3;
formattext.BackPen = 1;
formattext.DrawMode = JAM2;
formattext.ITextFont= (struct TextAttr *)&TestFont;
formattext.NextText = NULL;
formattext.LeftEdge = 0;
formattext.TopEdge = 0;
formattext.IText = " C ";
for (i=0;i<INFOLINES;i++) /* init the info text */
{
infotext[i].FrontPen = 2;
infotext[i].BackPen = 1;
infotext[i].DrawMode = JAM2;
infotext[i].ITextFont= (struct TextAttr *)&TestFont;
infotext[i].NextText = (struct IntuiText *)&infotext[i+1];
infotext[i].LeftEdge = 5;
infotext[i].TopEdge = 5+i*10;
infotext[i].IText = NULL; /* fill in below */
}
infotext[INFOLINES-1].NextText = NULL;
infotext[0].FrontPen = 3;
infotext[0].IText = " BobEd Ver 1.5";
infotext[1].IText = "⌐ 1986, Peter Philip.";
infotext[2].IText = "Free to distribute but";
infotext[3].IText = " not to sell.";
}